﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BrokerBase.Lib.Product;

namespace BrokerBase.Lib.Policy
{
    /// <summary>
    /// 保单的假设
    /// </summary>
    public interface IPolicyActing
    {
        /// <summary>
        /// 关联的方案假设
        /// </summary>
        ISchemeActing SchemeActing { get;}
        /// <summary>
        /// 关联的保单
        /// </summary>
        IPolicy Policy { get; }
        /// <summary>
        /// 所有期间的假设
        /// </summary>
        IPolicyPeriodActing[] PeriodActings { get; }
        /// <summary>
        /// 已经支付的赔偿金
        /// </summary>
        double CompensationTotal { get;}
        /// <summary>
        /// 终止的期间
        /// </summary>
        IPolicyPeriodActing FinishPeriodActing { get;}
        /// <summary>
        /// 教父终止期间
        /// </summary>
        IPolicyPeriodActing PaymentFinishActing { get; set; }
        /// <summary>
        /// 辅助属性参数设置
        /// </summary>
        IDictionary<IAuxProperty, object> AuxConfigs { get;}
    }
}
